package com.boss.example.mapper;

import org.springframework.stereotype.Component;
import com.boss.example.entity.dto.UserDTO;
import java.util.List;

/**
 * @author Hu_liantian
 * @date 2020/8/5
 */
@Component
public interface UserMapper {

    /**
     * 根据用户名选择用户
     * @param username
     * @return
     */
    UserDTO selectUserByName(String username);

    /**
     * 根据用户名删除用户
     * @param username username
     * @return
     */
    int deleteUser(String username);

    /**
     * 添加用户,并设置权限
     * @param userDTO user
     * @return Result<>
     */
    int insertUser(UserDTO userDTO);

    /**
     * 修改用户权限
     * @param userDTO user
     * @return Result<>
     */
    int updateUserRole(UserDTO userDTO);

    /**
     * 修改密码
     * @param userDTO user
     * @return Result<>
     */
    int updateUserPwd(UserDTO userDTO);

    /**
     * 查询所有用户
     * @return Result<List<UserDTO>>
     */
    List<UserDTO> getAllUser();

    /**
     * 根据ID查询用户
     * @param userId userId
     * @return Result<UserDTO>
     */
    UserDTO getUserById(Integer userId);

    /**
     * 根据ID判断用户是否为管理员
     * @param userId userId
     * @return Result<UserDTO>
     */
    UserDTO getUserIsAdmin(Integer userId);

}
